The present invention relates to a method and/or architecture for universal serial bus (USE) devices generally and, more particularly, to a method and/or architecture for reducing power consumption in USB devices.
When implementing modern computer devices, in particular peripheral devices, it is generally desirable to provide low power consumption in the devices. Achieving a low power consumption during normal operating modes is typically a function of hardware. For example, through software control, specific hardware components of a particular device may be selected to be turned off to lower power consumption in suspend or sleep modes. However, it is often difficult to reach aggressive low power targets.
USB devices (which typically have current consumption of 10-100 mA) implement a low power suspend mode in which device current drops to 0-0.5 mA. The suspend mode is normally only entered on a system command (i.e., a suspend indication signal). Additionally, extensive use of the suspend mode can cause the USB device to miss USB traffic.
Referring to FIG. 1, an example illustrating a USB microcontroller continuously operating (i.e., on) during normal operation, since USB traffic is constantly received (i.e., traffic is received on each frame at 1 ms intervals). The microcontroller remains on, with clocks running, in order to immediately respond to any received USD traffic. Thus, conventional USB microcontrollers are either off (i.e., for a low-power state as directed by a host) or completely on during normal operation. The disadvantage of such an architecture is that full power consumption is required at all times during normal operation. In power sensitive applications, such as battery powered devices, meeting power consumption targets is a difficult challenge for USB devices.
The present invention concerns a method for reducing power consumption in a device, comprising the steps of (A) receiving one or more packets, (B) determining a type of each of the one or more packets and (C) suspending, waking, or partially waking the device in response to a particular type of packet.
The objects, features and advantages of the present invention include providing a method and/or architecture for reducing power consumption in USB devices that may (i) remain in suspend mode until the beginning of a USB packet, (ii) receive synchronization fields partly asynchronously (with no clock available) and partly synchronously (with a stable clock) to verify a valid packet has been received, and/or (iii) provide a mechanism for remaining in suspend during low-speed USB keep alive markers, while waking for data packets or bus reset events.